package com.my.zl.console.dao.autocode;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.my.zl.console.entity.autocode.ZlWebComponent;
import com.my.zl.console.po.autocode.webComponent.ZlWebComponentVo;

/**
 * @author ZL
 */
@Mapper
public interface ZlWebComponentMapper{
    
    /** 查询多条数据(分页)*/
    List<ZlWebComponentVo> selectListPage(Map<String, Object> paramMap);
    
    /** 查询总数(分页)*/
    int selectCountPage(Map<String,Object> paramMap);
    
    /** 查询单条记录*/
    ZlWebComponent selectOneByMap(Map<String, Object> paramMap);
    
    /** 查询多条记录*/
    List<ZlWebComponent> selectListByMap(Map<String, Object> paramMap);
    
    /** 新增记录*/
    int insertSelective(ZlWebComponent record);
    
    /** 根据主键更新表记录(没法把有值的置为空)*/
    int updateByPrimaryKeySelective(ZlWebComponent record);
    
    /** 
     * 根据条件更新记录
     * record :更新内容
     * paramMap :需更为空的字段
     */
    int updateByPrimaryKeyNull(@Param("record") ZlWebComponent record,@Param("map") Map<String, String> paramMap);

    /** 
     * 根据条件更新记录
     * record :更新内容
     * paramMap :更新条件
     */
    int updateByMapSelective(@Param("record") ZlWebComponent record,@Param("map") Map<String, Object> paramMap);
    
    /** 删除表记录(物理删用该方法)*/
    int deleteByMap(Map<String,Object> paramMap);
    
    /** 检查是否存在当前条件记录 */
    int countExistKey(Map<String, Object> checkMap);
}
